Telegram Group & Telegram Channel
🗃 Работа с файлами и файловой системой в C++17

Хочешь получить список файлов в папке? std::filesystem предоставляет удобные итераторы для обхода директории. Особенно полезно при создании загрузчиков ассетов, инструментов или скриптов, работающих с файлами.


✏️ Решение:

1. заголовочный файл <filesystem>
2. Используй directory_iterator для обхода содержимого папки
3. Проверь тип объекта (файл, директория и т.д.), если нужно отфильтровать только файлы

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
std::string path = "."; // текущая директория

for (const auto& entry : fs::directory_iterator(path)) {
if (fs::is_regular_file(entry)) {
std::cout << "Файл: " << entry.path() << std::endl;
}
else if (fs::is_directory(entry)) {
std::cout << "Папка: " << entry.path() << std::endl;
}
}

return 0;
}



⚠️ Возможные ошибки:

- Подключение <experimental/filesystem> вместо стандартного <filesystem> (устарело в C++17)
- Отсутствие обработки исключений — доступ к некоторым директориям может быть запрещён


Совет:

- Добавь try-catch вокруг итератора, если работаешь с произвольными путями
- Также удобно фильтровать файлы по расширению:
if (entry.path().extension() == ".cpp")



Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/cppproglib/5761
Create:
Last Update:

🗃 Работа с файлами и файловой системой в C++17

Хочешь получить список файлов в папке? std::filesystem предоставляет удобные итераторы для обхода директории. Особенно полезно при создании загрузчиков ассетов, инструментов или скриптов, работающих с файлами.


✏️ Решение:

1. заголовочный файл <filesystem>
2. Используй directory_iterator для обхода содержимого папки
3. Проверь тип объекта (файл, директория и т.д.), если нужно отфильтровать только файлы

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
std::string path = "."; // текущая директория

for (const auto& entry : fs::directory_iterator(path)) {
if (fs::is_regular_file(entry)) {
std::cout << "Файл: " << entry.path() << std::endl;
}
else if (fs::is_directory(entry)) {
std::cout << "Папка: " << entry.path() << std::endl;
}
}

return 0;
}



⚠️ Возможные ошибки:

- Подключение <experimental/filesystem> вместо стандартного <filesystem> (устарело в C++17)
- Отсутствие обработки исключений — доступ к некоторым директориям может быть запрещён


Совет:

- Добавь try-catch вокруг итератора, если работаешь с произвольными путями
- Также удобно фильтровать файлы по расширению:
if (entry.path().extension() == ".cpp")



Библиотека C/C++ разработчика #буст

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tg-me.com/cppproglib/5761

View MORE
Open in Telegram


Библиотека C C разработчика | cpp boost qt Telegram | DID YOU KNOW?

Date: |

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

Библиотека C C разработчика | cpp boost qt from it


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM USA